<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui" xmlns:comp="http://java.sun.com/jsf/composite/componentes"
	template="/template/template.xhtml">

	<ui:define name="contenido">

		<h:form id="form">

			<p:outputPanel id="panelContenedor">

				<comp:barra bean="#{rdoBean}" renderedNuevo="false" renderedEditar="false">
					<p:commandButton process="@this, :form:panelListado" update=":form:panelContenedor" value="RDO" icon="ui-icon-note"
						action="#{rdoBean.cargarRdoDesdePlanOperativo}" disabled="#{rdoBean.editado}">
						<f:setPropertyActionListener target="#{rdoBean.indicadorCosto}" value="false"></f:setPropertyActionListener>
					</p:commandButton>
					<comp:buttonExportaExcel bean="#{rdoBean}" tabla=":form:tablaPlanOperativo" />
				</comp:barra>

				<p:outputPanel id="panelNuevo" rendered="#{rdoBean.editado}">

					<p:panel header="Crear/Editar (RDO)">

						<h:panelGrid id="panelProyecto" columns="4" columnClasses="columnaEtiqueta,columnaValor,columnaEtiqueta,columnaValor">

							<h:outputText value="Fecha:" />
							<p:calendar pattern="dd/MM/yyyy" showOn="button" navigator="true" value="#{rdoBean.rdo.fecha}" id="calFecha" required="true">
								<p:ajax process="@this" event="dateSelect" global="false" partialSubmit="true" />
								<p:ajax process="@this" event="change" global="false" partialSubmit="true" />
								<f:validateBean />
							</p:calendar>

							<h:outputText value="Nota:" />
							<p:inputText value="#{rdoBean.rdo.descripcion}" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Numero Proyecto:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.proyecto.numero}" />

							<h:outputText value="Nombre Proyecto:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.proyecto.nombre}" />

							<h:outputText value="Fecha:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.proyecto.fecha}" id="txtFechaProyecto">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>

							<h:outputText value="Version:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.version}" />

							<h:outputText value="Fecha Inicio:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.fechaInicio}" id="txtFechaInicio">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>

							<h:outputText value="Fecha Fin:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.fechaFin}" id="txtFechaFin">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>

							<h:outputText value="Lider:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.proyecto.usuario.usuaApellidos} #{rdoBean.rdo.planOperativo.proyecto.usuario.usuaNombres}" />

							<h:outputText value="Sucursal:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.proyecto.sucursal.sucuDescripcion}" />

							<h:outputText value="Contratista:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.proyecto.contratista.nombre}" />

							<h:outputText value="Lider Contratista:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.proyecto.contactoContratista.nombre}" />

							<h:outputText value="Orden Trabajo:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.proyecto.ordenTrabajo}" />

							<h:outputText value="Plano:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.proyecto.plano}" />

							<h:outputText value="Alcance:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.proyecto.alcance}" />

							<h:outputText value="Direccion Obra:" />
							<h:outputText value="#{rdoBean.rdo.planOperativo.proyecto.direccionObra}" />

							<h:outputText value="Accidentes:" />
							<p:inputText value="#{rdoBean.rdo.numeroAccidentes}">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Obs. Accidentes:" />
							<p:inputText value="#{rdoBean.rdo.descripcionAccidente}" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Incidentes:" />
							<p:inputText value="#{rdoBean.rdo.numeroIncidentes}" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Obs. Incidentes:" />
							<p:inputText value="#{rdoBean.rdo.descripcionIncidente}" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Dias Perdidos:" />
							<p:inputText value="#{rdoBean.rdo.diasPerdidos}" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Obs. Dias Perdidos:" />
							<p:inputText value="#{rdoBean.rdo.descripcionDiasPerdidos}" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Horas Perdidas:" />
							<p:inputText value="#{rdoBean.rdo.horasPerdidas}" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

							<h:outputText value="Obs. Horas Perdidas:" />
							<p:inputText value="#{rdoBean.rdo.descripcionHorasPerdidas}" styleClass="input-text">
								<f:validateBean />
							</p:inputText>

						</h:panelGrid>

						<p:spacer width="2px" />

						<p:tabView id="tabViewDetalleRdo">

							<!-- <p:ajax event="tabChange" listener="#{rdoBean.actualizarCronograma}" update=":form:tabViewDetalleRdo:panelCronograma" />  -->

							<p:tab title="Detalle Rdo">

								<h:panelGrid columns="2" style="width:100%;text-align:left">

									<h:panelGroup id="panelDetalleRdo" layout="block" style="height: 435px; overflow-y: scroll !important;">

										<p:dataTable id="tablaDetalleRdo" rowIndexVar="secuencial" emptyMessage="No exsten registros" value="#{rdoBean.listaDetalleRdo}"
											var="_detalleRdo" paginator="true" paginatorPosition="bottom" style="width:100%" rows="100" rowKey="#{_detalleRdo.rowKey}"
											selection="#{rdoBean.detalleRdoSeleccionado}" selectionMode="single" binding="#{rdoBean.dtDetalleRdo}" sortBy="partida.padeNombre"
											sortOrder="ASCENDING">

											<p:ajax event="rowSelect" listener="#{rdoBean.seleccionarDetalleRdo}" update=":form:tabViewDetalleRdo:panelCronogramaRdo" global="false"
												partialSubmit="true" process="@this" />

											<p:column headerText="Actividad" styleClass="tableCell columnaDTNombre" sortBy="partida.padeNombre">
												<h:outputText value="#{_detalleRdo.partida.padeNombre}" id="txtCodigo" />
											</p:column>

											<p:column headerText="Tarea" styleClass="tableCell columnaDTNombre">
												<h:outputText value="#{_detalleRdo.concepto.concNombre}" id="txtNombre" />
											</p:column>

											<p:column headerText="Unidad" styleClass="tableCell columnaDTUnidad">
												<h:outputText value="#{_detalleRdo.concepto.concUnidad}" id="txtUnidad" />
											</p:column>

											<p:column headerText="Nota" styleClass="tableCell columnaDTDescripcion">
												<p:inputText styleClass="input-text" value="#{_detalleRdo.descripcion}" id="txtNota">
													<p:ajax event="change" process="@this" partialSubmit="true" />
													<f:validateBean />
												</p:inputText>
											</p:column>

											<p:column headerText="Fecha Inicio" styleClass="tableCell columnaDTFecha">
												<h:outputText value="#{_detalleRdo.fechaInicio}" id="txtFechaInicio">
													<f:convertDateTime pattern="dd/MM/yyyy" />
												</h:outputText>
											</p:column>

											<p:column headerText="Dur. Dias" styleClass="tableCell columnaDTValor">
												<h:outputText value="#{_detalleRdo.diasTarea}" id="txtDuracionDias" />
											</p:column>

											<p:column headerText="Fecha Fin" styleClass="tableCell columnaDTFecha">
												<h:outputText value="#{_detalleRdo.fechaFin}" id="txtFechaFin">
													<f:convertDateTime pattern="dd/MM/yyyy" />
												</h:outputText>
											</p:column>

											<p:column headerText="Costo U." styleClass="tableCell columnaDTValor" rendered="#{rdoBean.rdo.indicadorCosto}">
												<h:outputText value="#{_detalleRdo.costoUnitario}" id="txtCostoUnitario" />
											</p:column>

											<p:column headerText="Cantidad" styleClass="tableCell columnaDTValor">
												<h:outputText value="#{_detalleRdo.cantidad}" id="txtCantidad" />
											</p:column>

											<p:column headerText="Costo T." styleClass="tableCell columnaDTValor" rendered="#{rdoBean.rdo.indicadorCosto}">
												<h:outputText value="#{_detalleRdo.costoTarea}" id="txtCostoTarea" />
											</p:column>

											<p:column headerText="Peso" styleClass="tableCell columnaDTValor" rendered="#{rdoBean.rdo.indicadorCosto}">
												<h:outputText value="#{_detalleRdo.peso}" id="txtPeso" />
											</p:column>

											<p:column headerText="Costo Real" styleClass="tableCell columnaDTValor" rendered="#{rdoBean.rdo.indicadorCosto}">
												<p:inputText styleClass="input-text-number" value="#{_detalleRdo.costoReal}" id="txtCostoReal">
													<p:ajax event="change" process="@this" partialSubmit="true" update=":form:tabViewDetalleRdo:panelDetalleRdo" />
													<f:validateBean />
												</p:inputText>
											</p:column>

											<p:column headerText="Costo Final" styleClass="tableCell columnaDTValor" rendered="#{rdoBean.rdo.indicadorCosto}">
												<p:inputText styleClass="input-text-number" value="#{_detalleRdo.costoFinal}" id="txtCostoFinal">
													<p:ajax event="change" process="@this" partialSubmit="true" update=":form:tabViewDetalleRdo:panelDetalleRdo" />
													<f:validateBean />
												</p:inputText>
											</p:column>

											<p:columnGroup type="footer" id="panelTotal">
												<p:row>
													<p:column colspan="9" footerText="Total:" style="text-align:right" />
													<p:column rendered="#{rdoBean.rdo.indicadorCosto}">
														<f:facet name="footer">
															<h:outputText value="#{rdoBean.rdo.totalCostoTarea}" style="text-align:right" id="txtTotalCostoTarea" />
														</f:facet>
													</p:column>
													<p:column rendered="#{rdoBean.rdo.indicadorCosto}">
														<f:facet name="footer">
															<h:outputText value="#{rdoBean.rdo.totalPesoTarea}" style="text-align:right" id="txtTotalPesoTarea" />
														</f:facet>
													</p:column>
													<p:column rendered="#{rdoBean.rdo.indicadorCosto}">
														<f:facet name="footer">
															<h:outputText value="#{rdoBean.rdo.totalCostoReal}" style="text-align:right" id="txtTotalCostoReal" />
														</f:facet>
													</p:column>
													<p:column rendered="#{rdoBean.rdo.indicadorCosto}">
														<f:facet name="footer">
															<h:outputText value="#{rdoBean.rdo.totalCostoFinal}" style="text-align:right" id="txtTotalCostoFinal" />
														</f:facet>
													</p:column>
												</p:row>
											</p:columnGroup>

										</p:dataTable>

									</h:panelGroup>

									<h:panelGroup id="panelCronogramaRdo" layout="block" style="height: 435px; overflow-y: scroll !important;">

										<p:dataTable id="tablaCronogramaPlanOperativo" binding="#{rdoBean.dtCronogramaRdo}" emptyMessage="#{msgs.msg_no_hay_datos}"
											value="#{rdoBean.listaCronogramaRdo}" var="_cronogramaRdo" rowKey="#{_cronogramaRdo.rowKey}" rows="100" selectionMode="single"
											rowIndexVar="secuencial" paginator="true" paginatorPosition="bottom" sortBy="fecha" sortOrder="ASCENDING">

											<f:facet name="header">
												<h:outputText value="Cronograma" />
											</f:facet>

											<p:column headerText="Fecha" styleClass="#{_cronogramaRdo.diaNoLaborable ? 'diaNoLaborable' : 'tableCell'}">
												<h:outputText value="#{_cronogramaRdo.nombreDia} " />
												<h:outputText value="#{_cronogramaRdo.fecha}">
													<f:convertDateTime pattern="dd/MM/yyyy" />
												</h:outputText>
											</p:column>

											<p:column headerText="Avance" styleClass="#{_cronogramaRdo.diaNoLaborable ? 'diaNoLaborable' : 'tableCell'}">
												<p:inputText styleClass="input-text-number" value="#{_cronogramaRdo.avance}">
													<p:ajax process="@this" partialSubmit="true"></p:ajax>
													<f:validateBean />
												</p:inputText>
											</p:column>

										</p:dataTable>

									</h:panelGroup>

								</h:panelGrid>

							</p:tab>

							<p:tab title="Cronograma">
								<h:panelGroup id="panelCronograma">
									<center>
										<p:graphicImage value="/image/?file=#{rdoBean.rdo.planOperativo.imagen}" width="1400px" height="400px" />
									</center>
								</h:panelGroup>
							</p:tab>

						</p:tabView>

					</p:panel>
				</p:outputPanel>

				<p:outputPanel id="panelListado" rendered="#{!rdoBean.editado}">

					<p:dataTable lazy="true" id="tablaPlanOperativo" rowIndexVar="secuencial" emptyMessage="No exsten registros"
						value="#{rdoBean.listaPlanOperativo}" var="_planOperativo" binding="#{rdoBean.dtPlanOperativo}" paginator="true" paginatorPosition="bottom"
						style="width:100%" rows="10" selection="#{rdoBean.planOperativo}" selectionMode="single" rowKey="#{_planOperativo.id}">

						<f:facet name="header">
							<h:outputText value="Lista (RDO)" />
						</f:facet>

						<p:column headerText="No">
							<h:outputText value="#{secuencial+1}" />
						</p:column>

						<p:column filterBy="#{_planOperativo.proyecto.numero}" sortBy="#{_planOperativo.proyecto.numero}">
							<f:facet name="header">
								<h:outputText value="Numero" />
							</f:facet>
							<h:outputText value="#{_planOperativo.proyecto.numero}" />
						</p:column>

						<p:column filterBy="#{_planOperativo.proyecto.nombre}" sortBy="#{_planOperativo.proyecto.nombre}">
							<f:facet name="header">
								<h:outputText value="Proyecto" />
							</f:facet>
							<h:outputText value="#{_planOperativo.proyecto.nombre}" />
						</p:column>

						<p:column sortBy="#{_planOperativo.version}">
							<f:facet name="header">
								<h:outputText value="Version" />
							</f:facet>
							<h:outputText value="#{_planOperativo.version}" />
						</p:column>

						<p:column sortBy="#{_planOperativo.rdo.fecha}">
							<f:facet name="header">
								<h:outputText value="Fecha" />
							</f:facet>
							<h:outputText value="#{_planOperativo.rdo.fecha}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</p:column>

						<p:column>
							<f:facet name="header">
								<h:outputText value="Estado PO" />
							</f:facet>
							<h:outputText value="#{_planOperativo.estado.nombre}" />
						</p:column>

						<p:column>
							<f:facet name="header">
								<h:outputText value="Nota PO" />
							</f:facet>
							<h:outputText value="#{_planOperativo.descripcion}" />
						</p:column>

					</p:dataTable>

				</p:outputPanel>

			</p:outputPanel>
		</h:form>

	</ui:define>
</ui:composition>